定义
动态画面,简称动画(animation):利用人眼的视觉暂留特性,快速地变换画面,从而产生物体在运动的假象。
每秒帧数(FPS, Frames Per Second):每秒画面重绘的次数。
FPS越大,则动画效果越平滑,
当FPS小于20时,一般就能明显感觉到卡滞。
人眼感觉到连续不间断的动画的FPS并不高,一般在30-60之间是可取的,否则就会消耗较多资源。
动画的制作方式
JavaScript计时器
1 | setInterval(func, msec); |
requestAnimationFrame
当不在意多久绘制一次时,适合使用该方法。
1 | setInterval(func); |
两种方法的不同点
setInterval可以手动设置FPS,而requestAnmationFrame在浏览器处理繁忙时会采取跳帧处理画面。
记录FPS
stat.js是Three.js的作者Mr. Doob的另一个有用的JavaScript库。stat.js下载地址
很多情况下,我们希望知道实时的FPS信息,从而更好地监测动画效果。这时候,stat.js就能提供一个很好的帮助,它占据屏幕中的一小块位置(如左上角),效果为:
单击后显示每帧渲染时间:
1 | var stat = null; |